Hello, 各位 iT 邦幫忙 的粉絲們大家好~~~
在本系列文因為工作上的產品應用需求,進而探索到很多層面的點滴事。
透過每篇 EP 的分享把這些點滴整理,看起來或許像是個獨立的小品抒發文、也或許是一系列技術研究文!?
總之,就當作的隨手雜記文吧!
本篇是 莫名其妙就跟世界等級的 OpenSource 專案攪和了!? 系列文的 EP24。
確定了一件事情,不要抱持著鴕鳥心態,該面對的事就好好面對吧!
不過,雖然記憶體問題沒能解決。
但也因為經過 EP22、EP23 的調整,這個 GstreamerPlayer 的專案也已煥然一新,能跟上 .NET 與 Avalonia UI 的新腳步。
首先,回頭看一下 EP21 切換成 Gstreamer 的 MSVC 版本時所引發的 Exception:
---> System.TypeInitializationException: The type initializer for 'GLib.GType' threw an exception.
---> System.DllNotFoundException: GObject: libgobject-2.0-0.dll, libgobject-2.0.so.0, libgobject-2.0.0.dylib, gobject-2.dll
...
再透過 Windows 搜尋一下 "libgobject-2.0-0.dll"。
咦?這個 dll 怎會在 mingw 版本的安裝路徑底下?
按照 Windows 系統環境變數 Path 的設定,要呼叫的應該要是 msvc 版本的 dll 才對啊!
在 EP15 就已經有事先提過的,也就是原本 gstreamer-netcore 的作者 vladkol 在 README 就有提醒的事情:
It doesn't work with MSVC build...
而這問題源自於,在先前 EP14 就有先提到,在 Gstreamer 官網的 Download 頁面有特別標註的 Note 的其中一點:
(取自 gstreamer 官網 Download)
欸...對!
所以,繞了一圈就是得回來面對這個問題。